|
Web サービスから物理データ サービスの作成
このページは、2008 年 4 月 8 日に最後に変更されました。
eDocs ホーム > BEA AquaLogic Data Services Platform 3.0/3.2 ドキュメント > ALDSP 3.2 新機能のドキュメント
|
| このトピックは、ALDSP 3.0『データ サービス開発者ガイド』に含まれている同じトピックの改訂であり、Web サービスからの物理データ サービスの作成、および AquaLogic Common Navigation Framework についての一般的な情報を扱っています。 |
ALDSP 3.2 では、以下の 3 つのタイプの最上位レベル プロバイダが識別されます。
Web サービスとは、HTTP や SOAP など標準ベースのインターネット プロトコルだけでなく、アプリケーション アダプタを介してもアクセス可能な、完全に独立した、プラットフォームに依存しない、ビジネス論理単位です。
Web サービスにより、アプリケーション間の通信が著しく容易になります。そのため、Web サービスはエンタープライズ データ リソースにおいて、ますます中心的なものとなってきています。外部化された Web サービスのよく知られた例としては、Web アプリケーションに容易に統合できる更新頻度の高い天気ポートレットや株価ポートレットがあります。
同様に、Web サービスは、販売者から製造者への直送注文の追跡にも、効果的に利用できます。
ウィザードを使用して物理データ サービスを作成します。
物理データ サービスの作成ウィザードを起動するには、以下の手順に従います。
Web サービスをデータ ソースとして選択した後、WSDL ファイル、URI、または ALSB プロキシ サービスを指定するためのオプションが表示されます。
特定の Web サービスにアクセスするには、以下の方法があります。
WSDL ファイルは、以下の 2 通りの方法で選択できます。
現在のデータスペース プロジェクトで、[参照] をクリックして WSDL に移動します。
Service Consumption Framework を介して WSDL ファイルをダウンロードするには、以下の手順に従います。
| WSDL のダウンロードは、テキスト ファイルのダウンロードと同様です。プロジェクトにダウンロードした WSDL ファイルは、ローカル ファイルと同じように変更できます。この WSDL に対して行った変更は、ソース WSDL には反映されません。同様に、ソース WSDL への変更 (新たな操作や署名の変更) は、WSDL が再びダウンロードされ、再インポートされた場合にのみ反映されます。 |
以下の表では、使用可能なサービス リソースについて説明します。
| リソース | 説明 |
|---|---|
| Enterprise Repository | Enterprise Repository に関連するアーティファクト フォルダ内にある WSDL |
| UDDI | UDDI レジストリに登録された UDDI リソース。 |
| URI | URI 経由でアクセス可能な有効な WSDL (または、主なダイアログから URI オプションを使用する) |
| File System | ローカル ファイル システムから取得可能な WSDL |
| Workspace | 作業領域の他のプロジェクトにある WSDL またはサービス (あるいは、現在のプロジェクトの主なダイアログで、WSDL に対して [参照] ボタンを使用する)。 |
作業領域のサービス リソースに関しては、複数のタイプの製品からサービスを利用できます。デフォルトでは、以下の 3 つの製品タイプが使用できます。
AquaLogic Service Bus が存在する場合は、ALSB も使用可能です。
Enterprise Repository または作業領域オプションを使用して SCF を介して WSDL をダウンロードする場合、ALDSP または ALSB 製品タイプを使用すると、[プロジェクト エクスプローラ] の WSDL ファイルを右クリックして外部サービスへ移動のオプションを使用して WSDL で生成されたサービスを検索および表示できます。
URI Web サービス データ ソース オプションから外部の WSDL を選択できます。
以下の WSDL を使用して、Web サービスに基づく物理データ サービスの作成機能をテストすることができます (本文書作成時点)。
http://www.whitemesa.net/wsdl/r2/base.wsdl
|
AquaLogic Service Bus (ALSB) を使用して Web サービスにアクセスするには、以下の手順に従います。
AquaLogic Service Bus にアクセスするためには、以下の情報が必要です。
この情報は、AquaLogic Service Bus の管理者から入手できます。
| ALDSP によるアクセスを有効にするために sb 転送プロトコルを使用するように ALSB プロキシ サービスをコンフィグレーションする必要があります。 |
必要な情報を提供した後、選択したプロキシ サービスを使用して WSDL が使用できるようになります。
serviceName と portname でグループ化された利用可能な Web サービス オペレーションのリストから、データ サービス オペレーションとして扱うオペレーションを選択します。
| インポート処理中、インポートするオペレーションの選択、名前と他の特性の設定を行います。この選択により、ライブラリまたはエンティティ データ サービスを作成するかどうかが決定されます。したがって、選択にあたっては Web サービスのオペレーションについての知識が必要となります。 |
同じ WSDL から外部の関数を追加して、web サービスに基づいた 既存の物理データ サービスにオペレーションを追加することができます。
| 既存の物理データ サービスに外部の関数の追加 |
以下の表では、インポート対象の各オペレーションの利用可能なオプションについて説明 します。
| 特性 |
オプション |
コメント |
||
|---|---|---|---|---|
| Operation |
必要に応じて調整 |
組み込みのライン エディタを使用して、提示された名前を任意の有効な XML 名に変更できます。 |
||
| Public |
Boolean |
デフォルトでは、Web サービスから派生したオペレーションが保護されます。任意の関数やプロシージャをチェックボックスで Public とマークできます。(データサービスでは、オペレーションを必要に応じて Private とマークできます。) |
||
| Kind |
|
void を返すと判定されたオペレーションは、自動的にライブラリ プロシージャとしてマークされます。 提示された関数タイプは変更できます。インポートされる関数タイプは、ウィザードによって正しく設定されます。
|
||
| Primary |
Boolean |
Web サービス オペレーションには適用されません。 |
||
| Root Element |
オペレーションのルート要素 |
複合データ型に対しては、最上位の要素が一覧に表示されます。RPC スタイルの Web サービスの場合は、生成された最上位の要素が一覧に表示されます。 |
||
| Target Namespace | インポートされた値 | 生成されたデータ サービスのターゲット ネームスペースを表します。 |
データ サービス名を現在のデータ スペース内の他の名前と衝突しない有効な名前に変更することができます。
また、同じ WSDL に基づくデータ サービスがプロジェクトにすでに存在する場合は、既存のデータ サービスに新しいオペレーションを追加するオプションが表示されます。
| 1 つ以上のスキーマが依存 (または参照) する Web サービス オペレーションをインポートする場合、ウィザードは内部命名規約に従い、第 2 レベルのスキーマを作成します。いくつかのオペレーションが同じ第 2 のスキーマを参照する場合、そのスキーマ用に生成された名前は、Web サービスを再インポートするか、または Web サービスと同期した場合には、変更されることがあります。 |
本文書の作成時点では、以下のサンプルの URI を使用して、WSDL をデータ サービスとしてインポートする実験ができます。
この節には、実装に関する注意があります。
RPC スタイルの Web サービスの場合、結果はスキーマ属性の設定に基づいて、修飾または非修飾として返されます。
elementFormDefault
一般に、Web サービスでは、elementFormDefault は任意の子要素に form 属性を設定することによってオーバーライドできます。ただし、RPC スタイルの Web サービスでは、グローバルな設定 (修飾または非修飾) だけが考慮されるため、このような個別設定は無視されます。
次に例を示します。
<s:schema elementFormDefault="qualified" targetNamespace="http://temp.openuri.org/SampleApp/CustomerOrder.xsd" xmlns:s0="http://temp.openuri.org/SampleApp/CustomerOrder.xsd" xmlns:s="http://www.w3.org/2001/XMLSchema"> <s:complexType name="ORDER"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" form="unqualified" name="ORDER_ID" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" form="unqualified" name="CUSTOMER_ID" type="s:string"/> </s:sequence> </s:complexType> </s:schema>
この コードでは、グローバル要素は修飾であり、子要素 (ORDER_ID) は非修飾です。
標準的な場合では、ORDER_ID 用の「非修飾」の特別な設定が受け付けられます。ただし、RPC スタイルの Web サービスの場合、ランタイムでは ORDER_ID を含めてすべての属性に対して「修飾」属性が生成されます。
| RPC スタイルの Web サービス (ADO.NET で生成されたものなど) は、スキーマの elementFormDefault 宣言と一致しない「form」属性を持つ子要素を含む場合もあります。これらの Web サービスを実行可能なデータ サービス操作に変換するには、すべての form 要素の属性および elementFormDefault 属性 (「修飾」または「非修飾」) が一致するかどうかを確認します。 |
RPC モードの多次元配列はサポートされていません。
| 2008 年 4 月 10 日に 11:47 に Confluence によって作成されたドキュメント |